Methods and systems for providing sensor data using a sensor web

ABSTRACT

A system and method for providing sensor data may comprise receiving a request for sensor data, the request including a triggering parameter. Furthermore, the system and method for providing sensor data may comprise searching for information identifying devices that meet the triggering parameter. Devices are selected from a plurality of item tracking devices, where the plurality of item tracking devices correspond to a plurality of items. Moreover, the system and method for providing sensor data may retrieve the requested sensor data that corresponds to the devices that meet the triggering parameter, and return the requested sensor data.

TECHNICAL FIELD

The present invention generally relates to systems and methods fortracking items. More particularly, the present invention relates tosystems and methods for providing sensor data pertaining to trackeditems using a context based sensor web.

BACKGROUND

Asset management has always been an important part of commerce. Trackingassets is important to organizations of all kinds, whether it be acompany keeping track of inventory to be sold in its stores, or apackage delivery provider keeping track of packages being transportedthrough its delivery network. To provide quality service, anorganization typically creates and maintains a highly organized networkfor tracking its assets. Effective management of such networks allowslower cost, reduced delivery time, and enhanced customer service.

Technological advances have enabled items to be tracked in ways that farexceed the functionality of a simple list. A rich information frameworknow can be applied to describe the item's interaction with itssurroundings, such as transportation and custodial handoffs.

Bar codes are one way organizations keep track of items. A retailer, forexample, may use bar codes on items in its inventory. For example, itemsto be sold in a retailer's store may each have a different bar code onit. In order to keep track of inventory, the retailer typically scansthe bar code on each item. In addition, when an item is sold to aconsumer, the bar code for that item is scanned.

Similarly, a package delivery provider may utilize bar codes byassociating a bar code with packages to be delivered to a recipient. Forexample, a package may have a bar code corresponding to a trackingnumber for that package. Each time the package goes through a checkpoint(e.g., the courier taking initial control of the package, the packagebeing placed in a storage facility, the package being delivered to therecipient, etc.), the package's bar code may be scanned. Bar codes,however, have the disadvantage that personnel must manually scan eachbar code on each item in order to effectively track the items.

Radio-frequency identification (RFID) tags are an improvement overtypical bar codes. RFID tags do not require manual scanning that isrequired by typical bar codes. For example, in a retail context, an RFIDtag on an inventory item may be able to communicate with an electronicreader that detects items in a shopping cart and adds the cost of eachitem to a bill for the consumer. RFID tags have also been used to trackthings such as livestock, railroad cars, trucks, and even airlinebaggage. These tags typically only allow for basic tracking and do notprovide a way to improve asset management using information about theenvironment in which the items are tracked.

Sensor-based tracking systems are also known which can provide moreinformation than RFID systems. Such systems, however, can be expensive,and may provide extraneous and redundant item information.

It is therefore desirable to provide a system that lowers the costs ofsensor-based tracking and enables sensor data to be shared in order tobuild a strong information web surrounding the item being tracked.

SUMMARY

Consistent with embodiments of the present invention, a system andmethod are disclosed for providing sensor data. The system and methodfor providing sensor data may comprise receiving a request for sensordata, the request including a triggering parameter. Furthermore, thesystem and method for providing sensor data may comprise searching forinformation identifying devices that meet the triggering parameter.Devices are selected from a plurality of item tracking devices, wherethe plurality of item tracking devices correspond to a plurality ofitems. Moreover, the system and method for providing sensor data mayretrieve the requested sensor data that corresponds to the devices thatmeet the triggering parameter, and return the requested sensor data.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this disclosure, illustrate various embodiments and aspects ofthe present invention. In the drawings:

FIG. 1 is a block diagram of an exemplary item tracking systemconsistent with an embodiment of the present invention;

FIG. 2 is a block diagram of an exemplary tracking center consistentwith an embodiment of the present invention;

FIG. 3 is a flowchart of an exemplary method for tracking itemsconsistent with an embodiment of the present invention;

FIG. 4 is a flowchart of an exemplary method for accessing sensor datausing a context-based sensor network consistent with an embodiment ofthe present invention;

FIG. 5 is an exemplary graphical user interface displaying sensor dataretrieved in response to a request for sensor data, consistent with anembodiment of the present invention;

FIG. 6 is an exemplary graphical user interface for searching for sensordata, consistent with an embodiment of the present invention; and

FIG. 7 shows exemplary search results of the search performed in FIG. 6,consistent with an embodiment of the present invention.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings.Wherever possible, the same reference numbers are used in the drawingsand the following description to refer to the same or similar parts.While several exemplary embodiments and features of the invention aredescribed herein, modifications, adaptations and other implementationsare possible, without departing from the spirit and scope of theinvention. For example, substitutions, additions or modifications may bemade to the components illustrated in the drawings, and the exemplarymethods described herein may be modified by substituting, reordering oradding steps to the disclosed methods. Accordingly, the followingdetailed description does not limit the invention. Instead, the properscope of the invention is defined by the appended claims.

Overview

Systems and methods consistent with the present invention lower the costof item tracking, as well as enable sensor data to be shared in order tobuild a strong information web surrounding the item being tracked. Forexample, sensor data is integrated with surrounding sensors and/or datasources to drive rule-based logic based on relationships between sensorsand associated sensor data. This enables context-based rule-sets toreplace the need for conventional tracking solutions and to build muchricher information describing the item being tracked.

Leveraging the surrounding environment (e.g., using sensor data from onesensor to describe the environment of multiple items) removesduplication of capture and drives the cost down for each instance ofdata acquisition. This is particularly true for cases where the sensordata is shared across a large number of items. This data could be thetemperature of a room, or location of a building, or a picture of arainy road.

System Architecture

By way of a non-limiting example, FIG. 1 illustrates a networkenvironment 100 in which the features and principles of the presentinvention may be implemented. The number of components in environment100 is not limited to what is shown and other variations in the numberof arrangements of components are possible, consistent with embodimentsof the invention. The components of FIG. 1 may be implemented throughhardware, software, and/or firmware. Network environment 100 may includeitem tracking devices 102 a-102 n, beacon devices 104 a-104 n, network106, tracking center 108, and clients 110 a-110 n.

Network 106 provides communications between the various entitiesdepicted in network environment 100. Network 106 may be a shared,public, or private network and encompass a wide area or local area.Network 106 may be implemented through any suitable combination of wiredand/or wireless communication networks (including Wi-Fi networks,GSM/GPRS networks, TDMA networks, CDMA networks, Bluetooth networks, orany other wireless networks) By way of example, network 106 may beimplemented through a wide area network (WAN), local area network (LAN),an intranet and/or the Internet. Further, the entities of networkenvironment 100 may be connected to multiple networks 106, such as, forexample, to a wireless carrier network, a private data network and thepublic Internet.

Item tracking devices 102 a-102 n may be devices for use in trackingvarious items, and they may be attached to or included in the items thatare to be tracked. For example, an item tracking device 102 a may beattached to or enclosed in a package that is being sent to a recipientusing a delivery service such as Federal Express Inc., (“FedEx”).Alternatively, an item tracking device 102 a may be attached to orenclosed in a container holding inventory being delivered to a retailer.The aforementioned items are exemplary and may comprise any deliverableelements.

An item tracking device 102 a may store information associated with anitem tracking number for a corresponding item. The item tracking numbermay be a FedEx tracking number or similar tracking number. An itemtracking device 102 a may also store information indicative of otheritem tracking devices and/or beacon devices which are currently within agiven proximity. For example, when an item with a corresponding itemtracking device 102 is placed inside a vehicle or storage facility thatincludes a beacon device 104, the item tracking device 102 and/or thebeacon device may sense that the item tracking device 102 is within aproximity that indicates that the corresponding item is now in thevehicle or storage facility. Information reflecting an associationbetween the beacon device 104 and item tracking device 102 may then bestored in a memory located at one or more of the item tracking device102, the beacon device 104, or the tracking center 108.

In one embodiment, an item tracking device 102 may be capable ofmeasuring or detecting one or more conditions such as location,temperature, light level, motion, pressure, humidity, gas level,airflow, vibrations, or other environmental conditions. Alternatively,item tracking device 102 may be a low cost device that does not detectsuch environmental conditions.

An item tracking device 102 may also have the ability to directlytransmit and receive information to/from tracking center 108 via network106 (e.g., using known wireless communications means). Alternatively,item tracking device 102 may first send the information to a nearbybeacon device 104, which, in turn, would next transmit the informationto tracking center 108. For example, item tracking devices 102 may beimplemented using sensor devices such as wireless sensors available fromCrossbow Technology. One of ordinary skill in the art will appreciatethat alternative sensor devices may be used.

Beacon devices 104 a-104 n are devices capable of wirelesslycommunicating both to item tracking devices 102 and tracking center 108.In addition beacon devices 104 a-104 n may also be able to communicatewith other beacon devices. Beacon devices 104 a-104 n may be located invarious sites along the delivery path of an item. For example, vehiclesdriven by couriers may have beacon devices 104 associated with them.Airplanes used to transport items may also have beacon devices 104associated with them. Additionally, storage facilities may have beacondevices 104 associated with them. One of ordinary skill in the art willappreciate that these locations of beacon devices 104 are onlyexemplary.

In one embodiment, a beacon device 104 may include a sensor thatmeasures or detects one or more conditions such as location,temperature, light level, motion, pressure, humidity, gas level,airflow, vibrations, or other environmental conditions. Alternatively, abeacon device may not include such a sensor. Beacon devices 104 mayperiodically report detected sensor data to tracking center 108 vianetwork 106 (e.g., using known wireless communications means).

A beacon device 104 may be operable to periodically determine whetherthere are any item tracking devices 102 within a certain proximity ofthe beacon sensor 104. For example, a beacon sensor 104 a located insidea delivery truck may periodically check whether there are any itemtracking devices 102 within a predetermined distance of the beaconsensor 104 a by listening for signals from the item tracking devices102. Such a signal may be a wireless signal periodically sent out by anitem tracking device 102. In this manner, item tracking device 102essentially periodically declares “I am here.” One of ordinary skill inthe art will appreciate that a beacon device 104 may use other ways ofdetecting the item tracking devices 102 within the predetermineddistance.

The predetermined distance in this example is set so that item trackingdevices 102 that are within the distance are presumed to be inside orvery nearby the truck. Item tracking devices 102 outside of the distanceare considered outside of the truck. When a beacon device 104 determinesthat an item tracking device 102 is within its range, it may storeinformation indicative of an association between the two devices.Association information, for example, may include data that indicatesthat a beacon device's (104) specific identification number correspondsto an item tracking device's (102) specific identification number. Thebeacon device may also periodically send such association information totracking center 108 via network 106 (e.g., beacon device 104 mayperiodically send tracking center 108 information indicative of each ofits current associations with item tracking devices 102). When a beacondevice 104 determines that an item tracking device is no longer withinits range, it may update the stored information resident at beacondevice 104 and tracking center 108 to reflect that the devices are nolonger associated with each other. For example, when a beacon device 104a checks for item tracking devices within its range, there may be anitem tracking device 102 a that was previously within range but is notany longer. When that beacon device 104 a locally stores andsubsequently reports its current associations to tracking center 108,the current association information no longer shows that item trackingdevice 102 a is currently associated with beacon device 104 a.

Tracking center 108 provides a platform fortracking items beingdelivered to a recipient. Tracking center 108 may be implemented using acombination of hardware, software, and/or firmware, and may be operableto receive and store sensor data from various item tracking devices 102and/or beacon devices 104. For example, a beacon device 104 a mayperiodically send tracking center 108 sensor data reflecting conditionsmeasured or detected by beacon device 104 a. Such sensor data mayinclude location, temperature, light level, motion, pressure, humidity,gas level, airflow, vibrations, or other environmental conditions.Tracking center 108 may also be operable to receive and storeinformation indicative of associations (e.g., devices 102 in the truckare associated with beacon device 104 a) between beacon devices 104,item tracking devices 102, and user tracking devices 112. For example, abeacon device 104 a that is resident in a delivery truck may sendtracking center 108 information that identifies item tracking devices102 in the truck.

Tracking center 108 is also operable to respond to requests for sensordata. For example, a customer may use a client 110 to enter a requestfor sensor data stored at tracking center 108. The request may includeone or more triggering parameters, which can be used to find therequested sensor data. Exemplary triggering parameters may include asensor identification number, item tracking number, location,temperature, light level, humidity, pressure, gas level, airflow,vibrations, etc. Accordingly, by way of example, a customer may requesttemperature measurements within a certain range of a specific location.The distance from the specific location is the triggering parameter inthat case.

When tracking center 108 receives a request for sensor data from aclient 110, tracking center 108 may search a database resident attracking center 108 and return the requested sensor data, if found.Access to the sensor data may be managed or open. For example, if accessis managed, the client 110 and/or the customer would need to beauthenticated before sensor data is made available to the client 110and/or the customer. In addition to or instead of searching a databasefor sensor data, tracking center 108 may request sensor data directlyfrom the relevant item tracking devices 102 and/or beacon devices 104.

Tracking center 108 may also provide updated and/or new programming foritem tracking devices 102, beacon devices 104, and user tracking devices112. Programming, for example, may specify the manner in which a devicesenses environmental conditions. Programming of the aforementioneddevices may be altered, for example, by storing new or modifiedinstructions in a memory (not shown) located at the respective device.Programming changes may be made arbitrarily (e.g., at the discretion ofa programmer) or in response to a detected condition. For example,suppose a beacon device 104 a detects a temperature above a certainlevel. When beacon device 104 a reports the temperature level totracking center 108, an alarm or alert may be triggered to bring thisinformation to the attention of personnel associated with trackingcenter 108. Tracking center 108, in turn, may alter the programming ofbeacon device 104 a to check the temperature more frequently. One ofordinary skill in the art will appreciate that other parameters can beused as the basis for altering programming.

Clients 110 a-110 n provide users with an interface to network 106. Byway of example, clients 110 a-110 n may be implemented using any devicecapable of accessing a data network, such as a general purpose computeror personal computer equipped with a modem or other network interface.Clients 110 a-110 n may also be implemented in other devices, such as aBlackberry™, Ergo Audrey™, mobile phones (with data access functions),Personal Digital Assistant (“PDA”) with a network connection, IPtelephony phone, or generally any device capable of communicating over adata network.

Clients 110 a-110 n may be utilized by users to request sensor data fromtracking center 108. For example, a user may subscribe to a service thatallows the user to access up-to-date information about one or moresensors. Alternatively, a subscription to a service is not necessary toaccess the information. In order to request sensor data, the user mayenter information on a client 110 a indicative of the desired sensordata. For example, the user may enter information requesting the currentlocation and temperature of all sensors within a certain radius of aspecified sensor. After the customer enters this information, the client110 a may send a request to tracking center 108, which in turn maysearch its database or request the information directly from thesensors. When tracking center 108 finds the requested information, itmay send the information back to client 110 a.

In one embodiment, the user may enter the information to be searched foron a web page associated with a search engine. For example, the user mayuse a popular search engine such as Google™. More information on the useof a search engine in this manner is provided below in the discussion ofFIGS. 6 and 7. Alternatively, the customer or user may enter theinformation using an application program resident on the client 110.

User tracking devices 112 may be devices, similar to beacon devices 104,that are capable of communicating to both item tracking devices 104 andtracking center 108. Instead of being located in places such as avehicle, user tracking devices 112 are attached to or placed nearspecific users themselves. A user may be, for example, a courier that isresponsible for delivery of the item being tracked, a recipient to whoman item is being delivered, a sender that is sending an item to arecipient, or any other people otherwise involved in the delivery and/ortracking processes. A user tracking device 112 may include a sensor thatmeasures or detects one or more conditions such as location,temperature, light level, motion, pressure, humidity, gas level,airflow, vibrations, or other environmental conditions. Alternatively, auser tracking device may not include such a sensor. User trackingdevices 112 may periodically report detected sensor data to trackingcenter 108 via network 106 (e.g., using known communications means).

A user tracking device 112 may be operable to periodically determinewhether there are any item tracking devices 102 within a certainproximity of the user tracking device 112. When the user tracking device112 determines that an item tracking device 102 is within its range, itmay store information indicative of an association between the twodevices. The user tracking device 112 may also send this information totracking center 108 via network 106. When a user tracking device 112determines that an item tracking device is no longer within its range,it may update the stored information resident at user tracking device112 and tracking center 108 to reflect that the devices are no longerassociated with each other (e.g., sensor data from user tracking device112 may no longer be used to learn about the environment of the itemtracking device).

FIG. 2 is a diagram of an exemplary tracking center consistent with thepresent invention. Tracking center 108 may include at least a web server202, a sensor information database 204, a certificate server 206, and arules engine 208. The number of components in tracking center 108 is notlimited to what is shown and other variations in the number ofarrangements of components are possible, consistent with embodiments ofthe invention.

Web server 202 provides functionality for receiving traffic over anetwork. For example, web server 202 may be a standard web server that auser may access at a client 110 using a web browser program, such asInternet Explorer or Netscape Communicator. Web server 202 is operableto receive requests for sensor data from clients, and pass the requestson to sensor information database 204, certificate server 206, and/orrules engine 208 for processing.

Sensor information database 204 stores sensor data received from variousitem tracking devices 102, beacon devices 104, and user tracking devices112. Sensor information database 204 may also store informationindicative of associations between a beacon device 104 and item trackingdevices 102, information indicative of associations between differentitem tracking devices 102, as well as information indicative ofassociations between a user tracking device 112 and item trackingdevices 102.

For example, a beacon device, such as beacon device 104 a mayperiodically send sensor data to tracking center 108, where it is storedin sensor information database 204. Exemplary sensor data may includelocation, temperature, light level, motion, pressure, humidity, gaslevel, airflow, vibrations, or other environmental conditions. Sensordata that is transmitted to sensor information database 204 may beaccompanied by information identifying the item tracking device 102,beacon device 104, or user tracking device 112 that detected the sensordata.

Association data stored by sensor information database 204 may also beperiodically sent by a beacon device 104, an item tracking device 102,or a user tracking device 112. For example, when an activated itemtracking device 102 is placed within a predetermined proximity of abeacon device 104, item tracking device 102 and/or beacon device 104 maylocally store information reflecting this association. Beacon device 104may then send tracking center 108 information indicative of theassociation. Additionally or alternatively, item tracking device 102,may send tracking center 108 information indicative of the association.

When tracking center 108 receives a request for sensor data from aclient 110, sensor information database 204 may be searched for therequested data. If that data is found, it may be sent back to client110.

Certificate server 206 may be operable to control access to dataresident in sensor information database 204. For example, a client 110 aor a user of a client 110 a may only be authorized to receive sensordata that corresponds to certain item tracking devices 102 and/orcertain beacon devices 104. When that user requests a set of sensor datathat includes data for which the client or user has no authorization toaccess, certificate server 206 recognizes the lack of authorization andonly allows tracking center 108 to send the client or user the portionof the requested sensor data for which the client or user hasauthorization.

Rules engine 208 may be operable to, among other things, send queries tosensor information database 204 based on requests for sensor data fromclients 110; send requested sensor data to clients 110 after receivingit from sensor information database 204; process sensor data receivedfrom item tracking devices 102, beacon devices 104, and/or user trackingdevices 112 (and take appropriate actions); request sensor data fromitem tracking devices 102, beacon devices 104, and/or user trackingdevices 112; and alter the programming of various item tracking devices102, beacon devices 104, and/or user tracking devices 112.

System Operation

FIG. 3 shows a flowchart of an exemplary method for tracking items,consistent with the principles of the present invention. Although thesteps of the flowchart are described in a particular order, one skilledin the art will appreciate that these steps may be performed in amodified or different order, or that certain steps may be omitted.Further, one or more of the steps in FIG. 3 may be performedconcurrently or in parallel.

One or more item tracking devices 102 are set up based on therequirements of a shipper (step 302). For example, an organization mayrequire specific programming (dictating, for example, the manner inwhich a device detects environmental conditions) for item trackingdevices 102 that are to be associated with items to be sent torecipients. Alternatively, item tracking devices 102 may be setup basedon default programming. A customer who desires to send an item to arecipient may purchase or otherwise acquire an item tracking device tobe attached to or placed in an item to be shipped. A shipper, forexample, may be an item delivery company such as FedEx, a retailer, or amanufacturer that makes its own deliveries. One of ordinary skill in theart will appreciate that it is possible that the customer and theshipper are the same entity.

The item tracking device(s) may be activated and associated with theitem(s) being shipped (step 304). For example, a courier or otheremployee of the shipper may turn on an item tracking device 102 a andplace it in or attach it to packaging associated with a correspondingitem. The courier or other employee may also associate the item trackingdevice 102 a with an item tracking number. For example, the courier orother employee may cause information to be stored at tracking center 108that specifies that the item tracking number is currently assigned to anidentification number for the item tracking device. Alternatively, noitem tracking number is associated with the item tracking device 102 a.

Once an item tracking device 102 has been activated, in cases where thecourier has a user tracking device 112, the item tracking device 102 maythen be associated with the user tracking device 112 (step 306). Forexample, the user tracking device 112 and/or the item tracking device102 may automatically detect when the user tracking device 112 comeswithin a certain distance of the item tracking device 102. The usertracking device 112 may store information reflecting its associationwith the item tracking device 102. In addition, the user tracking device112 may forward this information to tracking center 108 for storage.

After an item is placed in a delivery vehicle (step 308), the itemtracking device 102 for the item is associated with a beacon device 104that corresponds to the delivery vehicle (step 310). For example, theitem tracking device 102 and/or the beacon device 104 may detect thatthe item tracking device 102 is within a predetermined distance of thebeacon sensor 104 that indicates that the corresponding item is now inor very nearby the vehicle. Information reflecting the associationbetween the item tracking device 102 and the beacon device 104 may bestored in the item tracking device 102 and/or the beacon device 104.Association information, for example, may include data that indicatesthat a beacon device's (104) specific identification number correspondsto an item tracking device's (102) specific identification number. Thebeacon device 104 or the item tracking device 102 (when it has theability to do so) may also send this information to tracking center 108via network 106. One of ordinary skill in the art will appreciate that avehicle may refer to a truck, van, airplane, boat, or any other mobilevehicle used to transport an item to a recipient. One of ordinary skillin the art will also appreciate that an item tracking device 102 mayalso be associated with beacon devices located in places other than avehicle, such as a storage facility or item processing facility (e.g.,when a corresponding item is placed in a such a site).

By allowing an item tracking device to associate with a beacon device inthis manner, tracking system 108 can leverage (e.g., use sensor datafrom one device to describe the environment of multiple items) sensordata from the beacon device to provide more information on theenvironment of the item being tracked than was previously possible. Forexample, suppose an item tracking device 102 a does not have the abilityto sense temperature but beacon device 104 a does. Also suppose thatitem tracking device 102 a is associated with beacon sensor 104 a byvirtue of being located in a vehicle with beacon sensor 104 a. A userthat later attempts to find temperature information that corresponds toitem tracking device 102 a may do so even though item tracking device102 a cannot sense temperature, because beacon device 104 a can sensetemperature and is associated with item tracking device 102 a. One ofordinary skill in the art will appreciate that similar leveraging mayoccur between item tracking devices and user tracking devices.

As noted above with reference to FIG. 1, some item tracking devices 102,beacon devices 104, and user tracking devices 112 may include sensorsthat measure or detect one or more conditions such as location,temperature, light level, motion, pressure, humidity, gas level,airflow, vibrations, or other environmental conditions. Item trackingdevices 102, beacon devices 104, and user tracking devices 112 thatinclude such sensors periodically report sensor data to tracking center108 (step 312). An item tracking device 102 that includes a sensor anddoes not have the ability to directly transmit and receive informationto/from tracking center 108 via network 106 may first send the sensordata to a nearby beacon device 104 or user tracking device 112, which inturn would send the sensor data to tracking center 108.

When tracking center 108 receives sensor data, if that data isindicative of a predetermined condition, tracking center 108 may triggeran appropriate alarm (step 314). For example, suppose a beacon device104 a detects a temperature above a certain level. When beacon device104 a reports the temperature level to tracking center 108, an alarm oralert may be triggered to bring this information to the attention ofpersonnel associated with tracking center 108. Personnel may thenmonitor the situation more closely or take another appropriate action.Alternatively or additionally, the pertinent courier or other user maybe notified of the alarm condition via a user tracking device 112. Oneof ordinary skill in the art will appreciate that instead of trackingcenter 108 detecting the alarm condition, an item tracking device,beacon devices 104, or user tracking devices 112 may recognize the alarmcondition. Suitable notification may thereafter be sent to trackingcenter 108 and/or the pertinent user tracking device 112.

Tracking center 108 may also alter the programming of an item trackingdevice 102, beacon devices 104, or user tracking devices 112 ifnecessary or desired (step 316). In the example of a beacon device 104 adetecting a temperature above a certain level, tracking center 108 may,in turn, alter the programming of beacon device 104 a to check thetemperature more frequently. One of ordinary skill in the art willappreciate that other parameters can be used as the basis for alteringprogramming. Moreover, one of ordinary skill in the art will appreciatethat programming may be altered for reasons other than the detection ofpredetermined conditions, and that the programming of the aforementioneddevices may be altered without the intervention of tracking center 108.

As an item proceeds in a delivery network, item tracking devices aredisassociated from beacon devices as necessary (step 318). For example,when an item tracking device 102 is moved out of range of a beacondevice 104 with which it is associated, any record that reflects theassociation between the item tracking device 102 and the beacon device104 is deleted. This includes any records resident at the item trackingdevice 102, beacon device 104, and tracking center 108. Such adisassociation may occur, for example, when an item is removed from adelivery vehicle that includes a beacon device, when an item is removedfrom a storage facility that includes a beacon device, etc. For example,when a beacon device 104 a checks for item tracking devices within itsrange, there may be an item tracking device 102 a that was previouslywithin range but is not any longer. When that beacon device 104 alocally stores and subsequently reports its current associations totracking center 108, the current association information no longer showsthat item tracking device 102 a is currently associated with beacondevice 104 a.

In one embodiment, even when an item tracking device 102 isdisassociated with a beacon device 104, it may still be possible tocontinue tracking the item that corresponds to the item tracking device102. For example, a user tracking device 112 may still be associatedwith the item tracking device 102, so that conditions sensed by the usertracking device 112 can be leveraged to learn more about the environmentof the item. By way of example, when a courier removes a specific itemfrom a vehicle, a corresponding item tracking device 102 a may bedisassociated from a beacon device 104 a that corresponds to thevehicle. The item tracking device 102 a, however, may still beassociated with a user tracking device 112 a attached to the courier. Ifthe user tracking device 112 a has the ability to determine its location(e.g., GPS or similar ability), then that location information may beused as location information for the item tracking device 102 a.Moreover, if the location information is determined to be close to therecipient's address, then the user tracking device 112 a may sendinformation to tracking center 108 to that effect. Thereafter, trackingcenter 108 may send the recipient or another user (e.g., via a client110) a notification that the item is about to be delivered.

Item tracking devices may also be associated with additional beacondevices or item tracking devices as necessary (step 320). For example,when an item tracking device is moved into range of a beacon device 104with which it is not currently associated, information reflecting anassociation between the item tracking device and beacon device may bestored in the item tracking device 102 and/or the beacon device 104.Association information, for example, may include data that indicatesthat a beacon device's 104 specific identification number corresponds toan item tracking device's 102 specific identification number. The beacondevice 104 or the item tracking device 102 (when it has the ability todo so) may also send this information to tracking center 108 via network106.

In one embodiment, an item tracking device 102 may be associated withanother item tracking device 102 when the two devices are within acertain range of each other. An example of when it may be necessary fortwo item tracking devices to associate with each other is when a firstitem tracking device 102 a is attached to an item that is within theintended association range of a beacon device 104 a but cannot detectthat it is within range due to low battery power or some other reason. Asecond item tracking device 102 b also within association range of thebeacon device may be closer to the beacon device 104 a than the firstitem tracking device 102 a, yet still close enough to the first itemtracking device 102 a for the first item tracking device 102 a todetect. In that case, information reflecting the first item trackingdevice's 102 a association with the second item tracking device 102 bmay be stored at one or more of the first item tracking device 102 a,the second item tracking device 102 b, the beacon device 104 (which mayreceive the information via the second item tracking device), andtracking center 108. This association information, for example, mayinclude data that indicates that identification number of item trackingdevice's 102 a corresponds to the identification number of item trackingdevice's 102 b.

When an item reaches its final destination (e.g., delivered to therecipient), the courier removes and deactivates the item tracking device(step 322). Thereafter, tracking center 108 deletes recorded data thatcorresponds to the item tracking device and resets the item trackingdevice (step 324). For example, the courier or other personnel may sendor otherwise provide information to tracking center 108 identifying arecently deactivated item tracking device. Tracking center 108 may thenproceed to search database 204 for entries that correspond to the itemtracking device and delete them.

FIG. 4 shows a flowchart of an exemplary method for accessing sensordata using a context-based sensor network, consistent with an aspect ofthe present invention. Although the steps of the flowchart are describedin a particular order, one skilled in the art will appreciate that thesesteps may be performed in a modified or different order, or that certainsteps may be omitted. Further, one or more of the steps in FIG. 4 may beperformed concurrently or in parallel.

Tracking center 108 may receive a request for sensor data (step 402). Auser may enter the request for sensor data using a client 110. Forexample, the user may enter a request for the current location andtemperature of all sensors within a certain radius of a specifiedsensor. After the user enters this request, the client 110 may send itto tracking center 108. Alternatively, a user may enter a request forsensor data using a computer resident at tracking center 108.

Once tracking center 108 has received the request, it may determinewhether real-time sensor data is needed (step 404). For example, arequest received at tracking center 108 from a client 110 may beforwarded to rules engine 208 from web server 202. Rules engine 208 mayprocess the request and determine that it requires real-time data asopposed to data stored in sensor information database 204. Such adetermination may be made, for example, based on the type of informationrequested, user choice, the programming of rules engine 208, or anapplication being run on client 110.

If real-time data is needed, then processing continues to step 422,which is explained in more detail below. If real-time data is notneeded, then tracking center 108 may proceed to determine a set ofsensors that meet one or more triggering parameters (step 406). Thesetriggering parameters are included as part of the request for sensordata. For example, rules engine 208 may examine the request to ascertainthe triggering parameter(s). Thereafter, rules engine 208 may searchsensor information database 204 for information that identifies the itemtracking devices 102, beacon devices 104, and/or user tracking devices112 that meet the criteria set forth by each triggering parameter. Forexample, if the request is for temperature information from sensorswithin a 2 mile radius of a specified item tracking device 102 a, thenrules engine 208 looks for the item tracking devices 102, beacon devices104, and/or user tracking devices 112 that are indicated as being withina 2 mile radius of the item tracking device 102 a.

If, for example, the item tracking device 102 a does not have theability to determine location, the location may still be determined bylooking up association data in information database 204 that correspondsto the item tracking device 102 a in order to find an associated beacondevice 104 or user tracking device 112. Accordingly, assuming theassociated beacon device 104 or user tracking device 112 can determinelocation, a location that corresponds to the associated item trackingdevice may be determined. Thereafter, continuing with the example, rulesengine 208 may determine what devices are within a 2 mile radius of thatlocation.

Once the appropriate set of sensors has been determined, tracking center108 may attempt to retrieve the requested sensor data from entriescorresponding to the set of sensors (step 408). For example, rulesengine 208 may search sensor information database 204 for entriescorresponding to the aforementioned set of sensors. Entries with therequested sensor data are set aside as part of a results set. Forexample, continuing with the example of a request for temperatureinformation from sensors within a 2 mile radius of a specified location,rules engine 208 may access entries in sensor information database 204that correspond to the set of sensors that are within a 2 mile radius ofthe location. Temperature information from those entries may be madepart of the results set. One of ordinary skill in the art willappreciate that sensor data from a beacon device 104 or user trackingdevice 112 may be leveraged (e.g., use sensor data from one device todescribe the environment of multiple items) to determine the temperatureinformation for sensors in the set of sensors that cannot detecttemperature. One of ordinary skill in the art will also appreciate thatthe aforementioned hypothetical is only exemplary, and that anycombination of triggering parameters and requested sensor data may beused.

If the requested sensor data is not found in sensor information database204 (step 410—No), then a decision is made as to whether tracking center108 should attempt to retrieve real-time data (step 412). If so, thenprocessing may proceed to step 424, which is explained in more detailbelow. If not, then tracking center 108 may send a notification that therequested sensor data is not available (step 414). For example, in thecase where the request for sensor data was initiated at a client 110,rules engine 208 may generate such a notification and send it to anappropriate client 110 via web server 202 and network 106.

If, after step 408, the requested sensor data was successfully found(step 410—Yes), then tracking center 108 determines whether therequester has authorization to access all of the retrieved data (step416). For example, certificate server 206 may interact with sensorinformation database 204, rules engine 208, and/or a client 110 thatoriginated the request in order to make this determination. Certificateserver 206 may receive the request, which may include authenticationinformation. Based on this authentication information, certificateserver 206 may determine what portion, if any, of the sensor dataincluded in the results set, the requester has the right to access.

If the requester has access rights for all of the sensor data in theresults set, then all of the data is sent to the requester (step 418).For example, in a situation where a user of a client 110 has such accessrights, all of the requested sensor data is returned to the client 110,where it may be displayed for viewing by the user. If the requester hasaccess rights to only a portion of the sensor data, or no access rightsat all for this data, then the requester is sent only that data forwhich the requester is authorized (step 420). For example, if a user ofa client 110 has access rights to only half of the requested sensordata, only that half of the data is returned to the client 110, where itmay be displayed for viewing by the user. One of ordinary skill in theart will appreciate that if the user in this example does not haveaccess rights for any of the requested sensor data, no data from theresults set is returned to the client 110.

Returning to step 404, when it is determined that real-time data isdesired (step 404—Yes), tracking center 108 determines a set of sensorsthat meet one or more triggering parameters (step 422). As previouslynoted, these triggering parameters are included as part of the requestfor sensor data. Rules engine 208, for example, may examine the requestto determine the triggering parameter(s). Thereafter, rules engine 208may search sensor information database 204 for information thatidentifies the item tracking devices 102, beacon devices 104, and/oruser tracking devices 112 that meet the criteria set forth by eachtriggering parameter. For example, if the request is for temperatureinformation from sensors within a 2 mile radius of a specified itemtracking device 102 a, then rules engine 208 looks for the item trackingdevices 102 and/or beacon devices 104 that are indicated as being withina 2 mile radius of the specified item tracking device 102 a.

Alternatively, tracking center 108 may attempt to determine the set ofrelevant sensors by requesting information directly from item trackingdevices 102, beacon devices 104, and user tracking devices 112. In theexample of a request for temperature information from sensors within a 2mile radius of a specified item tracking device 102 a discussed above,rules engine 208 (or, more generally, tracking center 108) may initiaterequests to the various item tracking devices 102, beacon devices 104,and user tracking devices 112 asking for location information. Afterrules engine 208 receives location information from the various devices,it may determine which of those devices are within a 2 mile radius ofthe specified item tracking device 102 a.

Once the appropriate set of sensors has been determined, tracking center108 may ask for the requested sensor data from the item tracking devices102, beacon devices 104, and user tracking devices 112 that are part ofthe set (step 424). For example, rules engine 208 may request the sensordata directly from the devices 102,104, and 112 identified in step 422.Sensor data received back from the set of devices 102, 104, 112 are madepart of a results set. For example, continuing with the example of arequest for temperature information from sensors within a 2 mile radiusof a specified item tracking device 102 a, rules engine 208 may requesttemperature information from the item tracking devices 102 and beacondevices 104 that have been previously identified as being within a 2mile radius of the location. Temperature information from those devicesmay be made part of the results set. Although steps 422 and 424 havebeen shown as separate steps, one of ordinary skill in the art willappreciate that parts of these steps may occur simultaneously. Forexample, when tracking center 108 sends a request to item trackingdevices 102, beacon devices 104, and user tracking devices 112 in anattempt to identify devices that meet the triggering parameter(s), therequest may also be for the desired sensor data. In this manner, it isnot necessary for tracking center 108 to send a separate request for thedata.

If the requested sensor data is not available from the identified itemtracking devices 102, beacon devices 104, and user tracking devices 112(step 426—No), then a decision is made as to whether tracking center 108should attempt to retrieve the data from sensor information database 204(based, for example, on the type of sensor data that is requested) (step432). If so, then processing may proceed to step 408, described above.If not, then tracking center 108 may send a notification that therequested sensor data is not available (step 434). For example, in thecase where the request for sensor data was initiated at a client 110,rules engine 208 may generate such a notification and send it to anappropriate client 110 via web server 202 and network 106.

If the requested sensor data is available (step 426—Yes), then trackingcenter 108 determines whether the requester has authorization to accessall of the retrieved data (step 428). For example, certificate server206 may interact with sensor information database 204, rules engine 208,and/or a client 110 that originated the request in order to make thisdetermination. Certificate server 206 may receive the request, which mayinclude authentication information. Based on this authenticationinformation, certificate server 206 may determine what portion, if any,of the sensor data included in the results set, the requester has theright to access.

If the requester has access rights for all of the sensor data in theresults set, then all of the data is sent to the requester and stored insensor information database 204 (step 430). For example, in a situationwhere a user of a client 110 has such access rights, all of therequested sensor data is returned to the client 110, where it may bedisplayed for viewing by the user. If the requester has access rights toonly a portion of the sensor data, or no access rights at all for thisdata, then the all of the sensor data is stored in sensor informationdatabase 204, and the requester is sent only that data for which therequester is authorized (step 436). For example, if a user of a client110 has access rights to only half of the requested sensor data, onlythat half of the data is returned to the client 110, where it may bedisplayed for viewing by the user. One of ordinary skill in the art willappreciate that if the user in this example does not have access rightsfor any of the requested sensor data, no data from the results set isreturned to the client 110.

FIG. 5 is an exemplary graphical user interface displaying sensor dataretrieved in response to a request for sensor data, consistent with anaspect of the present invention. One skilled in the art will appreciatethat alternative user interfaces may be utilized that display retrievedsensor data in different ways.

The user interface, for example, may be displayed on a client 110 orother client or workstation that is being utilized by a user to requestsensor data from tracking center 108. In the example of FIG. 5, therequest for sensor data has taken the form of a uniform resource locator(URL) entered by the user in the address window of a web browserprogram. The URL indicates, for example, that all sensor datacorresponding to a sensor identified as ZB764312-Y12345 should beretrieved from sensor information database 204. In other words, the userin this case has requested all sensor data from the aforementionedsensor. In the present example, the user may be requesting the sensordata directly from tracking center 108 without the use of anintermediate search engine.

In the context of the flow chart depicted in FIG. 4, the triggeringparameter for this request is the ID number of the sensor,ZB764312-Y12345, so that all sensor data meeting that triggeringparameter has been requested. In response, tracking center 108 mayreturn a web page listing the relevant sensor data to the web browserprogram. In this case, tracking center 108 returned location informationand temperature information for the identified sensor. One of ordinaryskill in the art will appreciate that the various labels depicted in theuser interface of FIG. 5 (e.g., “Sensor Loc #1,”“Sensor Temp #1,” etc.),are replaced by the relevant values in actual use. One of ordinary skillin the art will also appreciate that requested sensor data may beprovided to a user using means other than a web page. For example,results may be provided to a user in a file.

FIG. 6 is an exemplary graphical user interface for searching for sensordata, consistent with the principles of the present invention. Insteadof requesting sensor data directly from tracking center 108, a user mayfirst search for hyperlinks to web pages with the requested data. Theexample depicted in FIG. 6 shows that a user may utilize a searchengine, such as the one made available by Google™, to search for sensordata pertaining to a sensor identified as ZB764312-Y12345. One ofordinary skill in the art will appreciate that even though the user isnot directly requesting sensor data from tracking center 108, the soughtafter sensor data still resides at tracking center 108.

FIG. 7 shows exemplary search results of the search performed in FIG. 6.Specifically, the search resulted in hyperlinks to two web pages. One isa link to temperature information for sensor ZB764312-Y12345. The otheris a link to location information for sensor ZB764312-Y12345. Clickingon the temperature link for example, may result in a request fortemperature information for sensor ZB764312-Y12345 being sent totracking center 108, where the information may be retrieved from sensorinformation database 204. In the context of the flow chart depicted inFIG. 4, the triggering parameter for this request is the ID number ofthe sensor, ZB764312-Y12345, so that all temperature information meetingthat triggering parameter has been requested. In response, trackingcenter 108 may return a web page listing the relevant temperatureinformation to the web browser program. One of ordinary skill in the artwill appreciate that requested sensor data may be provided to a userusing means other than a web page. For example, results may be providedto a user in a file.

While certain features and embodiments of the invention have beendescribed, other embodiments of the invention will be apparent to thoseskilled in the art from consideration of the specification and practiceof the embodiments of the invention disclosed herein. Furthermore,although embodiments of the present invention have been described asbeing associated with data stored in memory and other storage mediums,one skilled in the art will appreciate that these aspects can also bestored on or read from other types of computer-readable media, such assecondary storage devices, like hard disks, floppy disks, or a CD-ROM,or other forms of RAM or ROM. Further, the steps of the disclosedmethods may be modified in any manner, including by reordering stepsand/or inserting or deleting steps, without departing from theprinciples of the invention.

It is intended, therefore, that the specification and examples beconsidered as exemplary only, with a true scope and spirit of theinvention being indicated by the following claims and their full scopeof equivalents.

What is claimed is:
 1. A method for providing sensor data from trackingdevices, the method comprising the following operations performed by oneor more processors: receiving, from a client device, a request forsensor data, the request including a triggering parameter, wherein thesensor data reflects a measurement of an environmental conditionassociated with a location of a tracking device; determining whetherreal-time sensor data is required based on the request for sensor data;identifying a set of tracking devices that meet the triggeringparameter; retrieving the requested sensor data, wherein, when real-timesensor data is not required, retrieving the requested sensor datacomprises retrieving sensor data from entries in a databasecorresponding to the set of tracking devices; determining whether theclient device has authorization to access each portion of the retrievedsensor data from the set of tracking devices; and returning a portion ofthe retrieved sensor data for which the client device has authorization,in response to the request, for display to a user.
 2. The method ofclaim 1, wherein the request for sensor data is initiated using apublicly available search engine.
 3. The method of claim 1, wherein thetracking devices that meet the triggering parameter are selected from aplurality of item tracking devices, a plurality of beacon devices, and aplurality of user tracking devices.
 4. The method of claim 1, whereinthe retrieving further comprises: when real-time sensor data isrequired, retrieving the requested sensor data comprises requesting andreceiving sensor data from the set of tracking devices.
 5. The method ofclaim 1, Wherein the retrieving further comprises: determining, whenreal-time data is required, whether the requested sensor data isavailable from the set of tracking devices; determining, when therequested sensor data is not available from the set of tracking devices,whether to retrieve the requested sensor data from the database based ona data type associated with the requested sensor data; and sending, whenthe requested sensor data should not be retrieved from the database, anotification to the client device.
 6. The method of claim 1, furthercomprising: comparing the retrieved sensor data to a predeterminedenvironmental condition; and providing a programming instruction to atracking device collecting the sensor data when the retrieved sensordata satisfies the predetermined environmental condition, theprogramming instruction including an instruction to increase thetemporal frequency with which the tracking device collects the sensordata.
 7. The method of claim 6, further comprising sending an alarm to auser tracking device associated with the tracking device collecting thesensor data when the retrieved sensor data satisfies the predeterminedenvironmental condition.
 8. A system for providing sensor data, thesystem comprising: a client operable to initiate a request for sensordata, the request including at least one triggering parameter, whereinthe sensor data reflects a measurement of a physical conditionassociated with a location of a tracking device; a plurality of trackingdevices; and a tracking center operable to: receive the request forsensor data; determine whether real-time sensor data is required basedon the request for sensor data; identify a set of tracking devices fromthe plurality of tracking devices that meet the triggering parameter;retrieve the requested sensor data, wherein, when real-time sensor datais not required, retrieving the requested sensor data comprisesretrieving sensor data from entries in a database corresponding to theset of tracking devices; determine whether the client has authorizationto access each portion of the retrieved sensor data from the set oftracking devices; and return a portion of the retrieved sensor data tothe client for which the client has authorization, in response to therequest.
 9. The system of claim 8, wherein the request for sensor datais initiated using a publicly available search engine.
 10. The system ofclaim 8, wherein the retrieving further comprises: when real-time sensordata is required, retrieving the requested sensor data comprisesrequesting and receiving sensor data from the set of tracking devices.11. The system of claim 8, wherein the retrieving further comprises:determining, when real-time data is required, whether the requestedsensor data is available from the set of tracking devices; determining,when the requested sensor data is not available from the set of trackingdevices, whether to retrieve the requested sensor data from the databasebased on a data type associated with the requested sensor data; andsending, when the requested sensor data should not be retrieved from thedatabase, a notification to the client.
 12. The system of claim 8,wherein the tracking center is further configured to: compare theretrieved sensor data to a predetermined environmental condition; andprovide a programming instruction to a tracking device collecting thesensor data when the retrieved sensor data satisfies the predeterminedenvironmental condition, the programming instruction including aninstruction to increase the temporal frequency with which the trackingdevice collects the sensor data.
 13. The system of claim 12, wherein thetracking center is further configured to send an alarm to a usertracking device associated with the tracking device collecting thesensor data when the retrieved sensor data satisfies the predeterminedenvironmental condition.
 14. A non-transitory computer-readable mediumstoring instructions, which when executed by a processor, cause theprocessor to perform a method for providing sensor data from trackingdevices using a context based sensor network, the method comprising:receiving, from a client, a request for sensor data, the requestincluding a triggering parameter, wherein the sensor data reflects ameasurement of a physical condition associated with a location of atracking device; identifying a set of tracking devices that meet thetriggering parameter; retrieving the requested sensor data, wherein,when real-time sensor data is not required, retrieving the requestedsensor data comprises retrieving sensor data from entries in a databasecorresponding to the set of tracking devices; determining whether theclient device has authorization to access each portion of the retrievedsensor data from the set of tracking devices; and returning a portion ofthe retrieved sensor data for which the client has authorization, inresponse to the request, for display to a user.
 15. The non-transitorycomputer-readable medium of claim 14, wherein the request for sensordata is initiated using a publicly available search engine.
 16. Thenon-transitory computer-readable medium of claim 14, wherein thetracking devices that meet the triggering parameter are selected from aplurality of item tracking devices, a plurality of beacon devices, and aplurality of user tracking devices.
 17. The non-transitorycomputer-readable medium of claim 14, wherein the retrieving furthercomprises: when real-time sensor data is required, retrieving therequested sensor data comprises requesting and receiving sensor datafrom the set of tracking devices.
 18. The computer-readable medium ofclaim 14, wherein the retrieving further comprises: determining, whenreal-time data is required, whether the requested sensor data isavailable from the set of tracking devices; determining, when therequested sensor data is not available from the set of tracking devices,whether to retrieve the requested sensor data from the database based ona data type associated with the requested sensor data; and sending, whenthe requested sensor data should not be retrieved from the database, anotification to the client.
 19. The computer-readable medium of claim14, further comprising: comparing the retrieved sensor data to apredetermined environmental condition; and providing a programminginstruction to a tracking device collecting the sensor data when theretrieved sensor data satisfies the predetermined environmentalcondition, the programming instruction including an instruction toincrease the temporal frequency with which the tracking device collectsthe sensor data.
 20. The computer-readable medium of claim 19, furthercomprising sending an alarm to a user tracking device associated withthe tracking device collecting the sensor data when the retrieved sensordata satisfies the predetermined environmental condition.